/*
 * Copyright (c) 2018. 玺得（深圳）科技有限公司.保留所有权利. http://www.pi-top.com/ 玺得（深圳）科技有限公司保留所有代码著作权.如有任何疑问请访问官方网站与我们联系. 代码只针对特定需求定制编码，不得在未经允许或授权的情况下对外传播扩散.恶意传播者，法律后果自行承担. 本代码仅用于pps-cloud系统.
 */
package com.pitop.order.entity;

import com.pitop.core.base.BaseEntity;
import com.pitop.customer.entity.Customer;
import lombok.Data;

import java.util.List;

/**
 * 订单
 *
 * @author berton
 */
@Data
public class Order extends BaseEntity implements java.io.Serializable {

    private String code;//数据库字段:code  属性显示:编码
    private String factoryCode;//数据库字段:factoryCode  属性显示:工厂编码
    private String orderNo;//数据库字段:order_no  属性显示:订单编号
    private String customerCode;//数据库字段:customerCode  属性显示:客户编码
    private String itemSku;//数据库字段:item_sku  属性显示:产品sku
    private String itemSummary;//数据库字段:item_summary  属性显示:产品说明
    private Integer itemTotalNum;//数据库字段:item_total_num  属性显示:产品总量
    private Integer itemBoxNum;//数据库字段:item_box_num  属性显示:产品箱数
    private Integer bindItemBoxNum;//数据库字段:bind_item_box_num  属性显示:绑定的箱体个数，默认为0
    private String expectShipDate;//数据库字段:expect_ship_date  属性显示:期望出单日期
    private String expectShipDateBegin;//数据库字段:expect_ship_date  属性显示:期望出单日期
    private String expectShipDateEnd;//数据库字段:expect_ship_date  属性显示:期望出单日期
    private String orderDate;//数据库字段:order_date  属性显示:下单日期
    private String orderDateBegin;//数据库字段:order_date  属性显示:出单时间
    private String orderDateEnd;//数据库字段:order_date 属性显示:出单时间
    private java.util.Date shipTime;//数据库字段:ship_time  属性显示:实际出货时间
    private String state;//数据库字段:state  属性显示:状态：已下单 Order，待发货 Pending_Delivery，已发货Shipped,取消 Cancel,延期 Delay
    private String syncState;//数据库字段:syncState  属性显示:同步状态： 准备同步 Ready,同步中 Sync,同步错误 Error,已经同步 Synced
    private String linkman;//数据库字段:linkman  属性显示:联系人
    private String phone;//数据库字段:phone  属性显示:电话
    private String email;//数据库字段:email  属性显示:邮箱
    private String address;//数据库字段:address  属性显示:地址
    private java.util.Date createTime;//数据库字段:createTime  属性显示:创建时间
    private java.util.Date createTimeBegin;//数据库字段:createTime  属性显示:创建时间
    private java.util.Date createTimeEnd;//数据库字段:createTime  属性显示:创建时间
    private java.util.Date updateTime;//数据库字段:updateTime  属性显示:更新时间
    private java.util.Date updateTimeBegin;//数据库字段:updateTime  属性显示:更新时间
    private java.util.Date updateTimeEnd;//数据库字段:updateTime  属性显示:更新时间

    private int itemNum;//绑定的参数数量
    private Customer customer;//用户信息
    private List<OrderDetail> orderDetails;//订单详情
    private List<OrderTrace> orderTraces;//订单跟踪记录
    private String factoryName;//工厂名称
}
